#ifndef __PACKET_QUER__
#define __PACKET_QUER__
#include <packet.h>
#include <thread.h>

class PacketQuer
{
public:
    bool addToQue(Packet& pkt);
    bool removePacketFromQue(Packet& pkt);
    bool removeAllPacketsInQue(); 
    static PacketQuer& getInstance(Thread *thredobj);
    static PacketQuer& getInstance();
    void destroyInstance();
    Packet *getPacket();

private:
    PacketQuer();
    PacketQuer(const PacketQuer&);
    void operator=(const PacketQuer&);
    void *_packet_list; 
    static PacketQuer* _quer;
    static int _instances;
    static Thread *_thr;
        
};

#endif

